Relative Performance of Preemption-Safe Locking and Non-Blocking Synchronization on Multiprogrammed Shared Memory Multiprocessors
نویسندگان
چکیده
Most multiprocessors are multiprogrammed to achieve acceptable response time. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: (1) preemption-safe locking and (2) non-blocking (lock-free) algorithms. Preemption-safe locking requires kernel support. Non-blocking algorithms generally require a universal atomic primitive, and are widely regarded as inefficient. We present a comparison of the two alternative strategies, focusing on four simple but important concurrent data structures— stacks, FIFO queues, priority queues and counters—in microbenchmarks and real applications on a 12-processor SGI Challenge multiprocessor. Our results indicate that data-structurespecific non-blocking algorithms, which exist for stacks, FIFO queues and counters, can work extremely well: not only do they outperform preemption-safe lock-based algorithms on multiprogrammed machines, they also outperform ordinary locks on dedicated machines. At the same time, since general-purpose nonblocking techniques do not yet appear to be practical, preemptionsafe locks remain the preferred alternative for complex data structures: they outperform conventional locks by significant margins on multiprogrammed systems.
منابع مشابه
Concurrent Update on Multiprogrammed Shared Memory Multiprocessors
Most multiprocessors are multiprogrammed in order to achieve acceptable response time and to increase utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: preemption-safe locking and n...
متن کاملNonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
Most multiprocessors are multiprogrammed in order to achieve acceptable response time and to increase their utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: (1) preemption-safe loc...
متن کاملNonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory
Most multiprocessors are multiprogrammed to achieve acceptable response time and to increase their utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for a concurrent, atomic update of shared data structures: (1) preemption-safe locking an...
متن کاملTECHNICAL REPORT 97-01 A Novel Approach to Multiprogrammed Multiprocessor Synchronization for Real-Time Kernels
In order to solve the problem of inopportune preemption in multiprogrammed multiprocessor synchronization, two strategies which are applicable to real-time systems have been investigated: preemption-safe locking and wait-free synchronization. Either of them, however, has a problem for use in the implementation of a real-time kernel. Preemption-safe locking has the drawback that the preemption o...
متن کاملPractical Considerations for Non - Blocking Concurrent
An important class of concurrent objects are those that are non-blocking, that is, whose operations are not contained within mutually exclusive critical sections. A non-blocking object can be accessed by many threads at a time, yet update protocols based on atomic Compare-And-Swap operations can be used to guarantee the object's consistency. In this paper we take a practical look at the Compare...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997